package com.ybwh.springboot2.minio.model.entity;

import com.alibaba.fastjson.JSON;
import com.gitee.fastmybatis.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;


/**
 * 文件元数据
 *
 * @author youbeiwuhuan
 * @date 2023-04-20 11:42:54
 */
@Data
@Table(name = "file_meta", pk = @Pk(name = "id", strategy = PkStrategy.NONE))
public class FileMeta {

    /**
     *
     */
    @ApiModelProperty(value = "")
    private Long id;
    /**
     * 文件名称
     */
    @ApiModelProperty(value = "文件名称")
    private String name;
    /**
     * 文件的SHA-256哈希码
     */
    @ApiModelProperty(value = "文件的SHA-256哈希码")
    private String sha256;
    /**
     * minio中路径属性
     */
    @ApiModelProperty(value = "minio中路径属性")
    private String minioPath;
    /**
     * 是否已删除(0-否，其他-是)
     */
    @ApiModelProperty(value = "是否已删除(0-否，其他-是)")
    @Column(logicDelete = true,  notDeleteValue = "0",logicDeleteStrategy = LogicDeleteStrategy.ID_FILL)
    private Long deleted;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private Long createId;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;
    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private Long updateId;
    /**
     * 更新人
     */
    @ApiModelProperty(value = "更新人")
    private LocalDateTime updateTime;

    @Override
    public String toString() {
        return JSON.toJSONString(this);
    }

}